System and method for providing a webpage

ABSTRACT

A system and method are disclosed for providing a webpage comprising receiving instructions for previewing a page; creating a preview version of the page, wherein links are modified to reflect a location of the preview version; and displaying the preview version of the page.

RELATED APPLICATION; PRIORITY CLAIM

This application is a continuation of and claims priority to U.S. Non Provisional Patent Application No. 10/607,452, filed Jun. 25, 2003, entitled System and Method for Providing a Webpage, and naming as inventors Ethan R. Nicholas and Veena Y. Dong, the entire contents of are hereby incorporated by reference in their entirety for all purposes

FIELD OF THE INVENTION

The present invention relates generally to webpages. More specifically, a system and method for creating or modifying a webpage is disclosed.

BACKGROUND OF THE INVENTION

Webpage designers are turning more frequently to webpage design tools. Often, a user will open and edit multiple webpages simultaneously when using a design tool. The complexity of juggling multiple pages can be difficult to manage and coordinate changes among the various pages. What is needed is a system and method for efficiently creating and modifying a webpage. The present invention addresses such a need.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:

FIGS. 1A-1B are block diagrams of a system and method for modifying a webpage according to an embodiment of the present invention.

FIG. 2 is a flow diagram of a method according to an embodiment of the present invention for modifying a webpage.

FIG. 3 is an example of a screen shot illustrating a live preview pane according to an embodiment of the present invention.

FIG. 4 is a screen shot of a navigation bar creation window according to an embodiment of the present invention.

FIG. 5 shows an example of a navigation bar according to an embodiment of the present invention.

DETAILED DESCRIPTION

It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, or a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication links. It should be noted that the order of the steps of disclosed processes may be altered within the scope of the invention.

A detailed description of one or more preferred embodiments of the invention is provided below along with accompanying figures that illustrate by way of example the principles of the invention. While the invention is described in connection with such embodiments, it should be understood that the invention is not limited to any embodiment. On the contrary, the scope of the invention is limited only by the appended claims and the invention encompasses numerous alternatives, modifications and equivalents. For the purpose of example, numerous specific details are set forth in the following description in order to provide a thorough understanding of the present invention. The present invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the present invention is not unnecessarily obscured.

FIGS. 1A-1B are block diagrams of a system and method for modifying a webpage according to an embodiment of the present invention. The word modify, as used herein, includes but is not limited to, creating a new webpage as well as modifying an existing webpage. Likewise, the word create or creating, as used herein, includes but is not limited to, creating a new webpage as well as modifying an existing webpage. FIG. 1A shows a simplified example of a webpage which includes page 100 and page 102. In this example, page 100 includes a link to webpage 102. Webpage 102 is shown to also include a link to webpage 100. If the user modifies webpage 100, and then chooses to preview either webpage 100 or 102, then the latest version of webpages 100-102 are shown so that if the user selects the link 106 to webpage 100, then the modified version of webpage 100 is displayed rather than the old, unmodified version. Likewise, if the user has modified webpage 102, if the user selects the link 104 to webpage 102, then the most recently modified version of webpage 102 is shown, regardless of whether he has saved the latest modification.

In FIG. 1B, a preview version of the modified webpage 100′ is shown along with a preview version of webpage 102′. In this example, a preview version 100′ of webpage 100 is created and saved, preferably when a preview command is selected by the user or when the webpage 100′ is saved, in order to capture changes made by the user. The preview versions of the webpages 100′-102′ contain modified links 104′-106 ′. The modified links 104′-106 ′ are modified to link to the preview versions webpage 100′ and webpage 102′ rather than the saved versions 100-102. In this manner, the links are consistent to the user when the user previews a webpage prior to saving his changes. For example, if the user makes changes to webpage 100 and webpage 102, when he chooses to preview webpage 102, he will see the preview version 102′ and when he selects the link 106′ to webpage A, then the preview version of webpage 100′ will be displayed. Likewise, when he selects link 104′ to webpage B, then the preview version 102′ will be displayed. Accordingly, the preview versions of the webpages will appear consistent during modification.

If the links are not rendered until the web browser launches, then the assets associated with the links can be modified so that when the links are rendered, the links will be modified. Alternatively, the links themselves can be modified.

FIG. 2 is a flow diagram of a method according to an embodiment of the present invention for modifying a webpage. In this example, two pages are open. A saved version of page A is provided (198). This saved version can be a preexisting page or a new, blank page that has not yet been customized. Page A is modified by a user (200). Instructions are received to preview page A (202). The saved version of page A is left unmodified and a preview version of page A is created which looks like the modified version of page A (204). In one embodiment, all files currently open and modified since the last preview has a preview version created that look like the current pages, regardless of whether the latest changes had been saved. In one embodiment, the preview versions can be generated every time a file is saved in addition to or instead of creating the preview versions when the user selects to preview a page. Additionally, a preview version of all files that have no current preview versions can be created, for example when a file is saved or when a preview instruction is received. One example of creating a preview version is to regenerate the entire file in the latest modified form.

Links for the webpages are modified so that the links point to the proper preview page at the preview location upon which the preview page is saved (206). In one embodiment, the memory location of the saved webpage is replaced with the preview location of the corresponding preview page. Accordingly, if the preview location is the same as the memory location of the saved webpage, then the actual link may remain the same since it will be replaced with the same information. In another embodiment, there could be a determination of whether the link should be changed rather than substituting all links.

All references to assets in the webpages are changed to the preview location of these files (208). An asset, as referred to herein, includes any file which can be incorporated into a website, such as html files, images, or animation. An example of a preview location is cache or a different memory location rather than the memory location where the saved version of the webpage is located. Changing the references to assets to the preview location of these files will facilitate consistency of the various pages when the user wishes to preview them.

The web browser is then invoked and directed to the preview version of page A (210).

In another aspect of the invention, a preview pane can be used to substantially immediately show the effects of a modification of a webpage. FIG. 3 is an example of a screen shot illustrating a live preview pane according to an embodiment of the present invention. In this example, a webpage 302 is being modified by a user. The preview pane 300 shows a preview of what the webpage 302 will look like. Changes to webpage 302 are reflected in the preview pane 300. In one embodiment, the changes made to webpage 302 are immediately updated in the preview pane 300. In another embodiment, the preview pane 300 can be updated periodically, for example, if the user makes a change on webpage 302, then a timer can be set and the preview pane 300 can be updated a half a second later so that all of the changes made within that time period can be updated together in the preview pane 300.

The preview pane 300 can be modified so that extraneous items such as border, highlights, or grid, are shown in webpage 302 are not displayed in preview pane 300. In one embodiment webpage 302 momentarily turns off the borders, highlights, and grid, or anything else that would not normally be seen in the final published webpage, and is rendered without the turned-off components in preview pane 300, then turned back on in page 302. This sequence preferably occurs fast enough so that it is not noticeable by the user.

In rendering the preview pane 300, each object on page 302 can be made to paint itself onto preview pane 300. Accordingly, the graphics context of the object is created, scaled to a small size appropriate for the preview pane 300. Each object is then instructed to paint itself to the graphics context and then display on the screen in preview pane 300.

In yet another aspect of the invention, a navigation bar is disclosed. FIG. 4 is a screen shot of a navigation bar creation window according to an embodiment of the present invention. In this example, a navigation bar window 400 lists all pages 402A-402B on the website so that the user can select the pages to become part of the navigation bar. A theme can also be selected for the button effects and rollovers so that the user can automatically select a set of appearances for the buttons when they are unselected, when the mouse rolls over the button, and when they are selected. The navigation bar's appearance can also be previewed in a preview window.

FIG. 5 shows an example of a navigation bar 500 which can be viewed as a set of buttons that link to various locations within the website. These buttons on the navigation bar 500 can function as a single object so that when the user drags the navigation bar 500, all of the buttons 502A-502B move as a single object. The images associated with the navigation bar 500 can be rendered at publish time. Each button 502A-502B of the navigation bar 500 can have multiple images, such as three images: mouse rollover, active, and inactive, wherein the mouse rollover is when the cursor is on a button, active is the page that is being displayed, and inactive is a page that this not being displayed. The navigation bar 500 is an asset that can be added to many pages and when the navigation bar 500 is changed, the changed bar 500 can be seen in all the webpages without having to change it for each individual page.

Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. It should be noted that there are many alternative ways of implementing both the process and apparatus of the present invention. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims. 

1. A computer-implemented method for displaying a preview version of a webpage, comprising: generating a first display of a first copy of a saved version of the webpage in a first window; generating a second display of a second copy of the saved version of the webpage in a second window; wherein the first window and the second window are displayed concurrently; receiving a first modification to the first copy of the webpage in the first window; prior to said first modification being saved to the saved version of the webpage, automatically updating the second display of the second copy of the saved version of the webpage in the second window to reflect the first modification.
 2. The method of claim 1, further comprising receiving a request to display a preview version of the webpage.
 3. The method of claim 1, wherein the second window does not include at least one component that is displayed in the first window and the at least one component is at least one of a border, highlight, or grid.
 4. The method of claim 1, further comprising displaying a third window for designing a navigation bar, wherein generating the second display of the copy of the saved version of the webpage includes generating the navigation bar designed in the third window in the preview version.
 5. The method of claim 4, wherein the navigation bar is comprised of a set of buttons.
 6. The method of claim 1, further comprising receiving a second modification to the first copy of the webpage, wherein the step of automatically updating the webpage in the second window further comprises automatically updating the webpage in the second window to reflect the first modification and the second modification simultaneously after the lapse of a certain period of time.
 7. A computer readable medium comprising one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the method recited in claim
 1. 8. A computer readable medium comprising one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the method recited in claim
 2. 9. A computer readable medium comprising one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the method recited in claim
 3. 10. A computer readable medium comprising one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the method recited in claim
 4. 11. A computer readable medium comprising one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the method recited in claim
 5. 12. A computer readable-medium comprising one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the method recited in claim
 6. 13. An apparatus for displaying a preview version of a webpage comprising: means for generating a first display of a first copy of a saved version of the webpage in a first window; means for generating a second display of a second copy of the saved version of the webpage in a second window; wherein the first window and the second window are displayed concurrently; means for receiving a first modification to the first copy of the webpage in the first window; prior to said first modification being saved to the saved version of the webpage, means for automatically updating the second display of the second copy of the saved version of the webpage in the second window to reflect the first modification.
 14. The apparatus of claim 13, further comprising means for receiving a request to display a preview version of the webpage.
 15. The apparatus of claim 13, wherein the second window does not include at least one component that is displayed in the first window and the at least one component is at least one of a border, highlight, or grid.
 16. The apparatus of claim 13, further comprising means for displaying a third window for designing a navigation bar, wherein generating the second display of the second copy of the saved version of the webpage includes generating the navigation bar designed in the third window in the preview version.
 17. The apparatus of claim 16, wherein the navigation bar is comprised of a set of buttons.
 18. The apparatus of claim 13, further comprising means for receiving a second modification to the first copy of the webpage, wherein the step of automatically updating the webpage in the second window further comprises automatically updating the webpage in the second window to reflect the first modification and the second modification simultaneously after the lapse of a certain period of time. 